@Lemon
2年前 提问
1个回答

数据库事务ACID四基本要素是什么

齐士忠
2年前

数据库事务ACID四基本要素如下:

  • 原子性(Atomicity):事务的原子性是指事务是数据库的一个单一的、独立的逻辑工作单位,事务中的操作要么都做,要么都不做。

  • 一致性(Consistency):事务的一致性是指事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如前边所述的转账事务,必须保证转账后A账户和B账户的总金额与转账前是一致的。因此,当事务成功提交时,数据库就从事务开始前的一致性状态转到了事务结束后的一致性状态。同样,如果由于某种原因,在事务尚未完成时就出现了故障,那么就会出现事务中的一部分操作已经完成,而另一部分操作还没有做,这样就有可能使数据库产生不一致的状态(参考前面的转账示例),因此,事务中的操作如果有一部分成功,一部分失败,为避免产生数据不一致状态,数据库管理系统会自动将事务中已完成的操作撤销,使数据回到事务开始前的状态。因此,事务的一致性和原子性是密切相关的。

  • 隔离性(Isolation):事务的隑离性是指数据库中一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对其他事务是隑离的,并发执行的各个事务之间不能相互干扰。例如,假设事务T1正在执行,并且正在使用数据项X,则在事务T1结束前这个数据不能被仸何其他的事务访问,就好像只有一个事务在访问数据。在事务完全终止并且将数据返回到一个新的或之前的稳定状态前,不允许其他事务看到由该事务引起的数据的变化。因此,事务彼此之间没有干扰。事务的隑离性在多用户数据库环境中非常有用,因为在这种环境中几个不同的用户可以同时访问和更改相同的数据。隑离性是由数据库管理系统的并发控制子系统实现的。

  • 持久性(Isolation):事务的持久性也称为永久性(Permanence),是指事务一旦提交,则其对数据库中数据的改变就是永久的,以后的操作或故障不会对事务的操作结果产生仸何影。